package example;

import java.io.File;
import java.util.Scanner;

public class FindAndDel {
    public static void scan(File currentFile, String key){
        if(!currentFile.isDirectory()){
            return;
        }
        File[] files = currentFile.listFiles();
        if(files==null||files.length==0){
            return;
        }
        for (File file : files) {
            //1.判断是否是普通文件
        if(file.isFile()){
            doDelete(file,key);
        }else {
            //如果还不是文件就继续查找文件
            scan(file,key);
        }
        }

    }
    public static void doDelete(File file,String key){
        if(!file.getName().contains(key)){
            //如果不是要删除的文件的话直接返回
            return;
        }
        //提示用户 是否删除
        Scanner sc = new Scanner(System.in);
        System.out.println("是否删除"+file.getName()+"文件？(y/n)");
        String choice = sc.nextLine();
        if(choice.equals("y")||choice.equals("Y")){
            file.delete();
        }
    }
    public static void main(String[] args) {
        System.out.println("请输入要删除的文件路径：");
        Scanner sc = new Scanner(System.in);
        String rootPath = sc.nextLine();
        File rootFile= new File(rootPath);
        if (!rootFile.isDirectory()) {
            //判断输入的文件路径是否是一个文件目录
            System.out.println("输入的文件目录不存在");
            return;
        }
        System.out.println("请输入要删除的文件名的关键字：");
        String key = sc.nextLine();
        //进行递归查找文件
        scan(rootFile,key);
    }
}
